home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 July: Mac OS SDK / Dev.CD Jul 97 SDK1.toast / Development Kits (Disc 1) / QuickDraw GX / Programming Stuff / Sample Code / Printing Samples / Printer Drivers… / ImageWriter--Chooser snooper / OldApp.r < prev   
Encoding:
Text File  |  1996-06-15  |  20.4 KB  |  981 lines  |  [TEXT/MPS ]

  1. /*
  2.     copyright © 1992-1994 Apple Computer Inc.  All rights reserved.
  3.     
  4.     OldApp.r
  5.     This file contains resources needed for old application compatiblity.
  6.     
  7.     Modification history
  8.      7/23/92        TED                New file today
  9.     12/20/93        dmh                Sync'd with the shipping 1.0b3 GX driver.
  10.      8/26/94        dmh                Sync'd with the shipping 1.0.1 GX driver.
  11.      6/14/96        cn                Updated to support Universal Interfaces 2.1.
  12. */
  13.  
  14. #include "Types.r"
  15. #include "SysTypes.r"
  16. #include "BalloonTypes.r"
  17.  
  18. #include "GXPrintingResTypes.r"
  19.  
  20. #include "CommonDefines.h"            // things common to .r and .h files
  21.  
  22. /* ----------------------------------------------------------------------------*/
  23. // This resource allows us to customize the old API's behavior - all drivers
  24. // should have a resource of this type
  25.  
  26. resource 'cust' (-8192, sysheap, purgeable)
  27. {
  28.     144, 144,                    // our DPI
  29.     defaultUpDriver,            // we use the default up driver
  30.     {2, 2},                        // pattern stretch of 2
  31.     gxOptimizedTranslation + gxRasterTargetTranslation
  32. };
  33.  
  34. resource 'resl' (-8192, sysheap, purgeable)
  35. {
  36.     rangeType,
  37.     gxDiscreteResolution,    gxDiscreteResolution,
  38.     gxDiscreteResolution,    gxDiscreteResolution,
  39.     {
  40.     72,     72;
  41.     144,     144;
  42.     80,     72;
  43.     160,     144;
  44.     }
  45. };
  46.  
  47. /* ----------------------------------------------------------------------------*/
  48. // overrides for old application messages, and where to find them in the jump table
  49. #define firstOffset 4
  50. #define segmentID     OldSegID
  51.  
  52. resource gxOverrideType (gxDriverCompatibilityOverrideID, sysheap, purgeable)
  53. {
  54.     {
  55.     gxConvertPrintRecordTo,            segmentID, firstOffset + 0,
  56.     gxConvertPrintRecordFrom,        segmentID, firstOffset + 4,
  57.     gxPrintRecordToJob,                segmentID, firstOffset + 8,
  58.     gxPrValidate,                    segmentID, firstOffset + 12,
  59.     gxPrJobInit,                    segmentID, firstOffset + 16,
  60.     };
  61. };
  62.  
  63. /* ----------------------------------------------------------------------------*/
  64. /* page setup dialog */
  65.  
  66. resource 'DITL' (-8192, sysheap, purgeable) {
  67.     {    /* array DITLarray: 18 elements */
  68.         /* [1] */
  69.         {8, 404, 27, 464},
  70.             Button { enabled, "OK" },
  71.             
  72.         /* [2] */
  73.         {35, 404, 54, 464},
  74.             Button { enabled, "Cancel" },
  75.             
  76.         /* [3] name frill */
  77.         {4, 4, 20, 384},
  78.             StaticText { disabled, DriverName },
  79.         
  80.         /* [4] line frill */
  81.         {20, 4, 24, 393},
  82.             UserItem { disabled },
  83.         
  84.         /* [5] */
  85.         {24, 4, 40, 60},
  86.             StaticText { disabled, "Paper:" },
  87.             
  88.         /* [6] */
  89.         {24, 68, 40, 208},
  90.             RadioButton { enabled, "¿" },
  91.             
  92.         /* [7] */
  93.         {24, 218, 40, 383},
  94.             RadioButton { enabled, "¿" },
  95.             
  96.         /* [8] */
  97.         {39, 68, 55, 208},
  98.             RadioButton { enabled, "¿" },
  99.             
  100.         /* [9] */
  101.         {39, 218, 55, 383},
  102.             RadioButton { enabled, "¿" },
  103.             
  104.         /* [10] */
  105.         {54, 68, 70, 208},
  106.             RadioButton { enabled, "¿" },
  107.             
  108.         /* [11] */
  109.         {54, 218, 70, 383},
  110.             RadioButton { enabled, "¿" },
  111.             
  112.         /* [12] */
  113.         {74, 4, 90, 88},
  114.             StaticText { disabled, "Orientation" },
  115.             
  116.         /* [13] portrait icon */
  117.         {93, 5, 125, 37},
  118.             UserItem { enabled },
  119.         
  120.         /* [14] landscape icon */
  121.         {93, 45, 125, 77},
  122.             UserItem { enabled },
  123.             
  124.         /* [15] */
  125.         {74, 106, 90, 211},
  126.             StaticText { disabled, "Special Effects:" },
  127.             
  128.         /* [16] */
  129.         {74, 220, 90, 328},
  130.             CheckBox { enabled, "Tall Adjusted" },
  131.             
  132.         /* [17] */
  133.         {89, 220, 105, 342},
  134.             CheckBox { enabled, "50 % Reduction" },
  135.             
  136.         /* [18] */
  137.         {104, 220, 120, 401},
  138.             CheckBox { enabled, "No Gaps Between Pages" },
  139.  
  140.         /* [19] version frill */
  141.         {4, 348, 19, 384},
  142.             UserItem { enabled },
  143.  
  144.         /* [20] default frill */
  145.         {4, 400, 24, 460},
  146.             UserItem { enabled },
  147.     }
  148. };
  149.  
  150. // version string for old dialogs
  151. resource 'STR ' (-8190, sysheap, purgeable) { "1.0" };
  152.  
  153. resource 'dctl' (-8192, sysheap, purgeable) {
  154.     20,
  155.     {
  156.     Button { 2, cancel },
  157.     Frill { 4, line },
  158.     PaperSizes { 0, 0, { 6, 7, 8, 9, 10, 11 } },
  159.     Orientation { 13, 14, 0, 0 },
  160.  
  161.     Toggle { 16, bPreciseBitmap },    // tall adjusted
  162.     Toggle { 17, bUser0 },            // 50% reduction
  163.     Toggle { 18, bBiggerPages },    // no gaps
  164.     
  165.     Frill { 19, version },
  166.     Frill { 20, default },
  167.     }
  168. };
  169.  
  170.  
  171. resource 'hdlg' (-8192, sysheap, purgeable) {
  172.     HelpMgrVersion,
  173.     0,
  174.     0,
  175.     0,
  176.     0,
  177.     HMStringResItem {
  178.         {0, 0}, {0, 0, 0, 0},
  179.         -8192, 1,
  180.         -8192, 2,
  181.         -8192, 3,
  182.         -8192, 4
  183.         },
  184.         
  185.     {    /* array HDialogArray: 18 elements */
  186.         /* [1] */
  187.         HMStringResItem {
  188.             {0, 0}, {0, 0, 0, 0},
  189.             -8192, 5,
  190.             -8192, 6,
  191.             -8192, 7,
  192.             -8192, 8
  193.             },
  194.             
  195.         /* [2] */
  196.         HMStringResItem {
  197.             {0, 0}, {0, 0, 0, 0},
  198.             -8192, 9,
  199.             -8192, 10,
  200.             -8192, 11,
  201.             -8192, 12
  202.             },
  203.             
  204.         /* [3] */
  205.         HMSkipItem { },
  206.         
  207.         /* [4] */
  208.         HMSkipItem { },
  209.         
  210.         /* [5] */
  211.         HMSkipItem { },
  212.         
  213.         /* [6] */
  214.         HMStringResItem {
  215.             {0, 0}, {0, 0, 0, 0},
  216.             -8192, 13,
  217.             -8192, 14,
  218.             -8192, 15,
  219.             -8192, 16
  220.             },
  221.             
  222.         /* [7] */
  223.         HMStringResItem {
  224.             {0, 0}, {0, 0, 0, 0},
  225.             -8192, 17,
  226.             -8192, 18,
  227.             -8192, 19,
  228.             -8192, 20
  229.             },
  230.             
  231.         /* [8] */
  232.         HMStringResItem {
  233.             {0, 0}, {0, 0, 0, 0},
  234.             -8192, 21,
  235.             -8192, 22,
  236.             -8192, 23,
  237.             -8192, 24
  238.             },
  239.             
  240.         /* [9] */
  241.         HMStringResItem {
  242.             {0, 0}, {0, 0, 0, 0},
  243.             -8192, 25,
  244.             -8192, 26,
  245.             -8192, 27,
  246.             -8192, 28
  247.             },
  248.             
  249.         /* [10] */
  250.         HMStringResItem {
  251.             {0, 0}, {0, 0, 0, 0},
  252.             -8192, 29,
  253.             -8192, 30,
  254.             -8192, 31,
  255.             -8192, 32
  256.             },
  257.             
  258.         /* [11] */
  259.         HMStringResItem {
  260.             {0, 0}, {0, 0, 0, 0},
  261.             -8192, 53,
  262.             -8192, 54,
  263.             -8192, 55,
  264.             -8192, 56
  265.             },
  266.             
  267.         /* [12] */
  268.         HMSkipItem { },
  269.         
  270.         /* [13] */
  271.         HMStringResItem {
  272.             {0, 0}, {0, 0, 0, 0},
  273.             -8192, 33,
  274.             -8192, 34,
  275.             -8192, 35,
  276.             -8192, 36
  277.             },
  278.             
  279.         /* [14] */
  280.         HMStringResItem {
  281.             {0, 0}, {0, 0, 0, 0},
  282.             -8192, 37,
  283.             -8192, 38,
  284.             -8192, 39,
  285.             -8192, 40
  286.             },
  287.             
  288.         /* [15] */
  289.         HMSkipItem { },
  290.         
  291.         /* [16] */
  292.         HMStringResItem {
  293.             {0, 0}, {0, 0, 0, 0},
  294.             -8192, 41,
  295.             -8192, 42,
  296.             -8192, 43,
  297.             -8192, 44
  298.             },
  299.             
  300.         /* [17] */
  301.         HMStringResItem {
  302.             {0, 0}, {0, 0, 0, 0},
  303.             -8192, 45,
  304.             -8192, 46,
  305.             -8192, 47,
  306.             -8192, 48
  307.             },
  308.             
  309.         /* [18] */
  310.         HMStringResItem {
  311.             {0, 0}, {0, 0, 0, 0},
  312.             -8192, 49,
  313.             -8192, 50,
  314.             -8192, 51,
  315.             -8192, 52,
  316.             },
  317.  
  318.         /* [19] */
  319.         HMSkipItem { },
  320.         
  321.         /* [20] */
  322.         HMSkipItem { },
  323.         
  324.     }
  325. };
  326.  
  327.  
  328. resource 'STR#' (-8192, sysheap, purgeable) {
  329.     {    /* array StringArray: 55 elements */
  330.         /* [1] */    "",
  331.         /* [2] */    "",
  332.         /* [3] */    "",
  333.         /* [4] */    "",
  334.         
  335.         /* [5] */    "To confirm the settings and close the dialog "
  336.                     "box, click this button (or press the "
  337.                     "Return or Enter key).",
  338.         /* [6] */    "",
  339.         /* [7] */    "",
  340.         /* [8] */    "",
  341.         
  342.         /* [9] */    "To cancel any changes and close the box, "
  343.                     "click this button.",
  344.         /* [10] */    "",
  345.         /* [11] */    "",
  346.         /* [12] */    "",
  347.         
  348.         /* [13] */    "To print on standard U.S. letter paper ("
  349.                     "8 1/2 by 11 inches), click this button.",
  350.         /* [14] */    "",
  351.         /* [15] */    "When this button is selected, your document "
  352.                     "is set up for standard U.S. letter paper "
  353.                     "(8 1/2 by 11 inches).",
  354.         /* [16] */    "",
  355.         
  356.         /* [17] */    "To print on A4 paper (a standard European "
  357.                     "letter size, 8 1/2 by 11 2/3 inches), "
  358.                     "click this button.",
  359.         /* [18] */    "",
  360.         /* [19] */    "When this button is selected, your document "
  361.                     "is set up for A4 paper (a standard European "
  362.                     "letter size, 8 1/2 by 11 2/3 inches).",
  363.         /* [20] */    "",
  364.         
  365.         /* [21] */    "To print on U.S. legal paper (8 1/2 by 14 inches), "
  366.                     "click this button.",
  367.         /* [22] */    "",
  368.         /* [23] */    "When this button is selected, your document "
  369.                     "is set up for U.S. legal paper (8 1/2 by 14 inches).",
  370.         /* [24] */    "",
  371.         
  372.         /* [25] */    "To print on international fanfold paper "
  373.                     "(8 1/4 by 12 inches), click this button.",
  374.         /* [26] */    "",
  375.         /* [27] */    "When this button is selected, your document "
  376.                     "is set up for international fanfold "
  377.                     "paper (8 1/4 by 12 inches).",
  378.         /* [28] */    "",
  379.         
  380.         /* [29] */    "To print on standard computer paper (15 "
  381.                     "by 11 inches), click this button.",
  382.         /* [30] */    "",
  383.         /* [31] */    "When this button is selected, your document "
  384.                     "is set up for standard computer paper "
  385.                     "(15 by 11 inches).",
  386.         /* [32] */    "",
  387.         
  388.         /* [33] */    "To set up your document for portrait (tall) "
  389.                     "printing, click this icon.",
  390.         /* [34] */    "",
  391.         /* [35] */    "When this icon is selected, your document "
  392.                     "is set up for portrait (tall) printing.",
  393.         /* [36] */    "",
  394.         
  395.         /* [37] */    "To set up your document for landscape (wide) "
  396.                     "printing, click this icon.",
  397.         /* [38] */    "",
  398.         /* [39] */    "When this icon is selected, your document "
  399.                     "is set up for landscape (wide) printing.",
  400.         /* [40] */    "",
  401.         
  402.         /* [41] */    "To correct the proportions of graphic images "
  403.                     "printed in portrait (tall) orientation, "
  404.                     "click this box.",
  405.         /* [42] */    "To correct the proportions of images printed "
  406.                     "in portrait (tall) orientation, click "
  407.                     "this box.  Not available because landscape "
  408.                     "orientation is selected, or because "
  409.                     "the application program you are using "
  410.                     "automatically uses correct proportions.",
  411.         /* [43] */    "When this box is checked, graphic images "
  412.                     "printed in portrait (tall) orientation "
  413.                     "will be correctly proportioned.",
  414.         /* [44] */    "",
  415.         
  416.         /* [45] */    "To print your document at half its actual "
  417.                     "size, click this box.",
  418.         /* [46] */    "To print your document at half its actual "
  419.                     "size, click this box.  Not available because "
  420.                     "the application program you are using "
  421.                     "always prints images at actual size."
  422.         /* [47] */    "When this box is checked, your document "
  423.                     "is printed at half its actual size.",
  424.         /* [48] */    "",
  425.         
  426.         /* [49] */    "To print your document without gaps between "
  427.                     "pages, click this box.",
  428.         /* [50] */    "",
  429.         /* [51] */    "When this box is checked, your document "
  430.                     "is printed without gaps between pages.",
  431.         /* [52] */    "",
  432.     }
  433. };
  434.  
  435.  
  436. resource 'DLOG' (-8192, sysheap, purgeable) {
  437.     {30, 20, 174, 492},
  438.     dBoxProc,
  439.     invisible,
  440.     noGoAway,
  441.     0x1,
  442.     -8192,
  443.     "Stl",
  444.     noAutoCenter
  445. };
  446.  
  447. resource 'dctb' (-8192, sysheap, purgeable) {
  448.     {    /* array ColorSpec: 0 elements */
  449.     }
  450. };
  451.  
  452. /* ----------------------------------------------------------------------------*/
  453. /* print dialog */
  454.  
  455. resource 'DITL' (-8191, sysheap, purgeable) {
  456.     {    /* array DITLarray: 19 elements */
  457.         /* [1] */
  458.         {8, 404, 27, 464},
  459.             Button { enabled, "Print" },
  460.         
  461.         /* [2] */
  462.         {35, 404, 54, 464},
  463.             Button { enabled, "Cancel" },
  464.             
  465.         /* [3] name frill */
  466.         {4, 4, 20, 384},
  467.             StaticText { disabled, DriverName },
  468.             
  469.         /* [4] line frill */
  470.         {20, 5, 24, 393},
  471.             UserItem { disabled },
  472.             
  473.         /* [5] */
  474.         {24, 4, 40, 88},
  475.             StaticText { disabled, "Quality:" },
  476.             
  477.         /* [6] */
  478.         {24, 100, 40, 188},
  479.             RadioButton { enabled, "Best" },
  480.             
  481.         /* [7] */
  482.         {24, 200, 40, 288},
  483.             RadioButton { enabled, "Faster" },
  484.             
  485.         /* [8] */
  486.         {24, 300, 40, 388},
  487.             RadioButton { enabled, "Draft" },
  488.         
  489.         /* [9] */
  490.         {44, 4, 60, 88},
  491.             StaticText { disabled, "Page Range:" },
  492.             
  493.         /* [10] */
  494.         {44, 100, 60, 188},
  495.             RadioButton { enabled, "All" },
  496.             
  497.         /* [11] */
  498.         {44, 200, 60, 260},
  499.             RadioButton { enabled, "From:" },
  500.             
  501.         /* [12] */
  502.         {44, 264, 60, 296},
  503.             EditText { disabled, "" },
  504.             
  505.         /* [13] */
  506.         {44, 304, 60, 332},
  507.             StaticText { disabled, "To:" },
  508.             
  509.         /* [14] */
  510.         {44, 332, 60, 364},
  511.             EditText { disabled, "" },
  512.             
  513.         /* [15] */
  514.         {64, 4, 80, 88},
  515.             StaticText { disabled, "Copies:" },
  516.             
  517.         /* [16] */
  518.         {64, 100, 80, 132},
  519.             EditText { disabled, "1" },
  520.             
  521.         /* [17] */
  522.         {84, 4, 100, 92},
  523.             StaticText { disabled, "Paper Feed:" },
  524.             
  525.         /* [18] */
  526.         {84, 100, 100, 192},
  527.             RadioButton { enabled, "Automatic" },
  528.             
  529.         /* [19] */
  530.         {84, 200, 100, 292},
  531.             RadioButton { enabled, "Hand Feed" },
  532.  
  533.         /* [20] version frill */
  534.         {4, 348, 19, 384},
  535.             UserItem { enabled },
  536.  
  537.         /* [21] default frill */
  538.         {4, 400, 24, 460},
  539.             UserItem { enabled },
  540.     }
  541. };
  542.  
  543. resource 'dctl' (-8191, sysheap, purgeable) {
  544.     21,
  545.     {
  546.     Button { 2, cancel },
  547.     Frill { 4, line },
  548.     Cluster { quality, { 6, 7, 8 } },
  549.     PageRange { 10, 11, 12, 14},
  550.     Copies { 16 },
  551.     Cluster { feed, { 18, 19 } },
  552.     
  553.     Frill { 20, version },
  554.     Frill { 21, default },
  555.     }
  556. };
  557.  
  558. resource 'hdlg' (-8191, sysheap, purgeable) {
  559.     HelpMgrVersion,
  560.     0,
  561.     0,
  562.     0,
  563.     0,
  564.     HMStringResItem {
  565.         {0, 0},
  566.         {0, 0, 0, 0},
  567.         -8191, 1,
  568.         -8191, 2,
  569.         -8191, 3,
  570.         -8191, 4
  571.     },
  572.     {    /* array HDialogArray: 19 elements */
  573.         /* [1] */
  574.         HMStringResItem {
  575.             {0, 0}, {0, 0, 0, 0},
  576.             -8191, 5,
  577.             -8191, 6,
  578.             -8191, 7,
  579.             -8191, 8
  580.             },
  581.             
  582.         /* [2] */
  583.         HMStringResItem {
  584.             {0, 0}, {0, 0, 0, 0},
  585.             -8191, 9,
  586.             -8191, 10,
  587.             -8191, 11,
  588.             -8191, 12
  589.             },
  590.             
  591.         /* [3] */
  592.         HMSkipItem { },
  593.         
  594.         /* [4] */
  595.         HMSkipItem { },
  596.         
  597.         /* [5] */
  598.         HMSkipItem { },
  599.         
  600.         /* [6] */
  601.         HMStringResItem {
  602.             {0, 0}, {0, 0, 0, 0},
  603.             -8191, 13,
  604.             -8191, 14,
  605.             -8191, 15,
  606.             -8191, 16
  607.             },
  608.             
  609.         /* [7] */
  610.         HMStringResItem {
  611.             {0, 0}, {0, 0, 0, 0},
  612.             -8191, 17,
  613.             -8191, 18,
  614.             -8191, 19,
  615.             -8191, 20 },
  616.             
  617.         /* [8] */
  618.         HMStringResItem {
  619.             {0, 0}, {0, 0, 0, 0},
  620.             -8191, 21,
  621.             -8191, 22,
  622.             -8191, 23,
  623.             -8191, 24
  624.             },
  625.             
  626.         /* [9] */
  627.         HMSkipItem { },
  628.         
  629.         /* [10] */
  630.         HMStringResItem {
  631.             {0, 0}, {0, 0, 0, 0},
  632.             -8191, 25,
  633.             -8191, 26,
  634.             -8191, 27,
  635.             -8191, 28
  636.             },
  637.             
  638.         /* [11] */
  639.         HMStringResItem {
  640.             {0, 0}, {0, 0, 0, 0},
  641.             -8191, 29,
  642.             -8191, 30,
  643.             -8191, 31,
  644.             -8191, 32
  645.             },
  646.             
  647.         /* [12] */
  648.         HMStringResItem {
  649.             {0, 0}, {0, 0, 0, 0},
  650.             -8191, 33,
  651.             -8191, 34,
  652.             -8191, 35,
  653.             -8191, 36
  654.             },
  655.             
  656.         /* [13] */
  657.         HMSkipItem { },
  658.         
  659.         /* [14] */
  660.         HMStringResItem {
  661.             {0, 0}, {0, 0, 0, 0},
  662.             -8191, 37,
  663.             -8191, 38,
  664.             -8191, 39,
  665.             -8191, 40
  666.             },
  667.             
  668.         /* [15] */
  669.         HMSkipItem { },
  670.         
  671.         /* [16] */
  672.         HMStringResItem {
  673.             {0, 0}, {0, 0, 0, 0},
  674.             -8191, 41,
  675.             -8191, 42,
  676.             -8191, 43,
  677.             -8191, 44
  678.             },
  679.             
  680.         /* [17] */
  681.         HMSkipItem { },
  682.         
  683.         /* [18] */
  684.         HMStringResItem {
  685.             {0, 0}, {0, 0, 0, 0},
  686.             -8191, 45,
  687.             -8191, 46,
  688.             -8191, 47,
  689.             -8191, 48
  690.             },
  691.             
  692.         /* [19] */
  693.         HMStringResItem {
  694.             {0, 0}, {0, 0, 0, 0},
  695.             -8191, 49,
  696.             -8191, 50,
  697.             -8191, 51,
  698.             -8191, 52
  699.             },
  700.  
  701.         /* [20] */
  702.         HMSkipItem { },
  703.         
  704.         /* [21] */
  705.         HMSkipItem { },
  706.         
  707.     }
  708. };
  709.  
  710. resource 'STR#' (-8191, sysheap, purgeable) {
  711.     {    /* array StringArray: 52 elements */
  712.         /* [1] */     "",
  713.         
  714.         /* [2] */    "",
  715.         /* [3] */    "",
  716.         /* [4] */    "",
  717.         
  718.         /* [5] */    "To start printing using the settings in "
  719.                     "this dialog box, click this button (or press "
  720.                     "the Return or Enter key).",
  721.         /* [6] */    "",
  722.         /* [7] */    "",
  723.         /* [8] */    "",
  724.         
  725.         /* [9] */    "To cancel the Print command without saving any "
  726.                     "changes to settings in this box, click this button.",
  727.                     
  728.         /* [10] */    "",
  729.         /* [11] */    "",
  730.         /* [12] */    "",
  731.         
  732.         /* [13] */    "To print your document with the highest "
  733.                     "resolution (144 dots per inch), click this "
  734.                     "button.  Best quality takes the longest "
  735.                     "to print.",
  736.         /* [14] */    "",
  737.         /* [15] */    "When this button is selected, the ImageWriter "
  738.                     "will print your document with the "
  739.                     "highest resolution (144 dots per inch).  "
  740.                     "Best quality takes the longest to print."
  741.         /* [16] */    "",
  742.         
  743.         /* [17] */    "To print your document with medium resolution "
  744.                     "(72 dots per inch), click this button.  "
  745.                     "Faster quality prints more quickly "
  746.                     "than Best, but more slowly than Draft.",
  747.         /* [18] */    "To print your document with medium resolution "
  748.                     "(72 dots per inch), click this button.  "
  749.                     "Not available because the application "
  750.                     "program you are using always prints "
  751.                     "at the full resolution of the printer.",
  752.         /* [19] */    "When this button is selected, the ImageWriter "
  753.                     "will print your document with medium "
  754.                     "resolution (72 dots per inch).  Faster "
  755.                     "quality prints more quickly than Best, "
  756.                     "but more slowly than Draft.",
  757.         /* [20] */    "",
  758.         
  759.         /* [21] */    "To get a quick printout, click this button.  "
  760.                     "Text only is printed, using one font "
  761.                     "and font size, in plain, bold, and underline "
  762.                     "styles.",
  763.         /* [22] */    "To get a quick printout, click this button.  "
  764.                     "Text only is printed, using one font "
  765.                     "and font size, in plain, bold, and underline "
  766.                     "styles.  Not available because you have formatted your "
  767.                     "document in landscape orientation.",
  768.         /* [23] */    "When this box is checked, the ImageWriter "
  769.                     "will produce a quick printout containing "
  770.                     "text only, using one font and font size, "
  771.                     "with plain, bold, and underline styles "
  772.                     "only.",
  773.         /* [24] */    "",
  774.         
  775.         /* [25] */    "To print all the pages in the document, click this button.",
  776.         /* [26] */    "",
  777.         /* [27] */    "When this button is selected, the ImageWriter "
  778.                     "will print all the pages in the document.",
  779.         /* [28] */    "",
  780.         
  781.         /* [29] */    "To print a specified range of pages, click "
  782.                     "this button and type page numbers in "
  783.                     "the boxes to the right.  To print one page, "
  784.                     "type its number in both boxes.",
  785.         /* [30] */    "",
  786.         /* [31] */    "When this button is selected, the ImageWriter "
  787.                     "will print only the page range specified "
  788.                     "in the boxes to the right.",
  789.         /* [32] */    "",
  790.         
  791.         /* [33] */    "",
  792.         /* [34] */    "To specify a range of pages to be printed, "
  793.                     "type the number of the first page here.",
  794.         /* [35] */    "",
  795.         /* [36] */    "",
  796.         
  797.         /* [37] */    "",
  798.         /* [38] */    "To specify a range of pages to be printed, "
  799.                     "type the number of the last page here.",
  800.         /* [39] */    "",
  801.         /* [40] */    "",
  802.         
  803.         /* [41] */    "",
  804.         /* [42] */    "Type the number of copies to be printed here."
  805.         /* [43] */    "",
  806.         /* [44] */    "",
  807.         
  808.         /* [45] */    "To print on paper automatically fed into "
  809.                     "the printer, click this button.",
  810.         /* [46] */    "",
  811.         /* [47] */    "When this button is selected, the ImageWriter "
  812.                     "will print on paper fed into the printer "
  813.                     "automatically.",
  814.         /* [48] */    "",
  815.         
  816.         /* [49] */    "To print on paper fed into the printer by "
  817.                     "hand (one sheet at a time), click this "
  818.                     "button.",
  819.         /* [50] */    "",
  820.         /* [51] */    "When this button is selected, the ImageWriter "
  821.                     "will pause before printing each page "
  822.                     "so that you can insert a new sheet of "
  823.                     "paper.",
  824.         /* [52] */    "",
  825.     }
  826. };
  827.  
  828. resource 'DLOG' (-8191, sysheap, purgeable) {
  829.     {50, 20, 154, 492},
  830.     dBoxProc,
  831.     invisible,
  832.     noGoAway,
  833.     0x1,
  834.     -8191,
  835.     "Job",
  836.     noAutoCenter
  837. };
  838.  
  839. resource 'dctb' (-8191, sysheap, purgeable) {
  840.     {    /* array ColorSpec: 0 elements */
  841.     }
  842. };
  843.  
  844. /* ----------------------------------------------------------------------------*/
  845. /*     resource which associates the 'hdlg's with their DLOGs.  This is
  846.     done to avoid resource ID renumbering, and because old dialog appending
  847.     code can't handle the help item type.
  848. */
  849. resource 'hwin' (-8192, sysheap, purgeable) {
  850.     HelpMgrVersion,
  851.     0,
  852.     {    /* array HWinArray: 2 elements */
  853.         /* [1] */
  854.         /* ID    type    compare length    string */
  855.         -8192,    'hdlg',    3,                "Stl",
  856.         
  857.         /* [2] */
  858.         -8191,    'hdlg',    3,                "Job"
  859.     }
  860. };
  861.  
  862.  
  863. /* ----------------------------------------------------------------------------*/
  864. /*     The default print record for this driver.
  865. */
  866. type 'PREC' (0) {
  867.     integer;                /*iPrVersion        */
  868.                         /*PrInfo        */
  869.     integer;                /*    iDev        */
  870.     integer;                /*    iVRes        */
  871.     integer;                /*    iHRes        */
  872.     rect;                    /*    rPage        */
  873.     rect;                /*rPaper        */
  874.                         /*PrStl            */
  875.     byte;                    /*    wDev refNum    */
  876.     boolean;                        /*    wDev lo bit 7    */
  877.     boolean NoDftBts, DftBts;        /*    wDev lo bit 6    */
  878.     boolean NoResSet, ResSet;        /*    wDev lo bit 5    */
  879.     boolean NoScroll, Scroll;        /*    wDev fScroll    */
  880.     boolean NoZoom, Zoom2X;            /*    wDev f2XZoom    */
  881.     boolean NormPix, SqPix;            /*    wDev fSqPix    */
  882.     boolean Landscape, Portrait;        /*    wDev fPortrait    */
  883.     boolean LowRes, HighRes;        /*    wDev fHiRes    */
  884.     integer;                /*    iPageV        */
  885.     integer;                /*    iPageH        */
  886.     byte;                    /*    bPort        */
  887.     byte Cut, Fanfold, MechCut, Other;    /*    feed        */
  888.                         /*PrInfoPT        */
  889.     integer;                /*    iDev        */
  890.     integer;                /*    iVRes        */
  891.     integer;                /*    iHRes        */
  892.     rect;                    /*    rPage        */
  893.                         /*PrXInfo        */
  894.     integer;                /*     iRowBytes    */
  895.     integer;                /*    iBandV        */
  896.     integer;                /*    iBandh        */
  897.     integer;                /*    iDevBytes    */
  898.     integer;                /*    iBands        */
  899.     byte dbl=-2, norm=0;            /*    bPatScale    */
  900.     byte;                    /*    bULThick    */
  901.     byte;                    /*    bULOffset    */
  902.     byte;                    /*    bULShadow    */
  903.     byte scanTB, scanBT, scanLR, scanRL;    /*    scan        */
  904.     fill byte;                /*    bXInfoX        */
  905.                         /*PrJob            */
  906.     integer;                /*    iFstPage    */
  907.     integer;                /*    iLstPage    */
  908.     integer;                /*    iCopies        */
  909.     byte Draft, Spool, User1, User2;    /*    bJDocLoop    */
  910.     byte;                    /*    fFromUsr    */
  911.     longint;                /*    pIdleProc    */
  912.     longint;                /*    pFileName    */
  913.     integer;                /*    iFileVol    */
  914.     byte;                    /*    bFileVers    */
  915.     byte;                    /*    bJobFlags    */
  916.     longint;                /*    lImageBytes for Solo    */
  917.     integer;                /*    iCpies for Solo            */
  918.     fill word [16];                /*Make 120 byte total    */
  919. };
  920.  
  921.  
  922.  
  923. resource 'PREC' (0, sysheap, purgeable) {
  924.     4,                        /* increase from 3 to 4 for QuickDraw GX */
  925.     0,
  926.     72,
  927.     80,
  928.     {0, 0, 752, 640},
  929.     {-36, -20, 756, 660},
  930.     1,
  931.     0,
  932.     NoDftBts,
  933.     NoResSet,
  934.     NoScroll,
  935.     NoZoom,
  936.     NormPix,
  937.     Portrait,
  938.     LowRes,
  939.     1320,
  940.     1020,
  941.     0,
  942.     Fanfold,
  943.     0,
  944.     72,
  945.     80,
  946.     {0, 0, 752, 640},
  947.     80,
  948.     32,
  949.     640,
  950.     3200,
  951.     24,
  952.     norm,
  953.     1,
  954.     1,
  955.     1,
  956.     scanTB,
  957.     1,
  958.     9999,
  959.     1,
  960.     Spool,
  961.     1,
  962.     0,
  963.     0,
  964.     0,
  965.     0,
  966.     0,
  967.     0,
  968.     1
  969. };
  970.  
  971.  
  972. // This 'STR#' contains a list of all of the qualities that are supported.
  973.  
  974. resource 'STR#' (kOldQualityID, sysheap, purgeable) 
  975. {
  976.     {
  977.         "Best",
  978.         "Rough"
  979.     }
  980. };
  981.